package edu.uni.dormitory.service;

import com.github.pagehelper.PageInfo;
import edu.uni.dormitory.bean.StudentBed;
import edu.uni.dormitory.globalbean.ClassVo;
import edu.uni.dormitory.globalbean.StudentBedClassVo;
import edu.uni.dormitory.globalbean.StudentBedVo;
import edu.uni.example.bean.Product;

import java.util.List;

/**
 * @author 陈楚城
 * @create 2019.05.03
 * @function 服务
 */
public interface StudentBedService {
    /**
     * 新增学生住宿信息
     *
     */
    boolean insert(StudentBed studentBed);

    /**
     * 删除学生住宿信息

     */
    boolean delete(long id);

    /**
     * 修改学生住宿信息

     */
    boolean update(StudentBed studentBed);

    /**
     * 根据id查找
     * @param id
     * @return
     */
    StudentBed selectByPrimaryKey(Long id);


    /**
     *根据学生id查询学生住宿信息
     */
    StudentBedVo selectStudentBedBySid(long studentId);
    /**
     *根据宿舍区id查询学生住宿信息
     */
    List<StudentBedVo>  selectStudentBedByAid(long areaId);
    /**
     *根据班级id查询学生住宿信息
     */
    List<StudentBedClassVo>  selectCid(long classId);

    /**
     * 分页查宿舍区学生住宿信息
     */
    PageInfo<StudentBedVo> selectPageByAreaId(Integer pageNum, long areaId);
    /**
     * 分页查学院学生住宿信息
     */
    PageInfo<StudentBedClassVo> selectPageByEmployeeId(Integer pageNum, long employeeId);
    /**
     * 调换宿舍修改学生住宿信息
     */
    boolean updatestudentBed(StudentBedVo studentBedVo,long bywho);
    /**
     * 宿管中心查询所有宿舍区的学生住宿信息
     */
    List<StudentBedVo> selectStudentBedAll();
    /**
     * 分页宿管中心查询所有宿舍区的学生住宿信息
     */
    PageInfo<StudentBedVo> selectStudentBedAllByPage(Integer pageNum);

    //根据辅导员id查询这个学院的班级信息
    List<ClassVo> selectclassbyEid(long employeeId);

    //高级筛选
    List<StudentBedClassVo> selective(StudentBedClassVo studentBedClassVo);
    //查询班级多少人
    int selectclasspersonNum(long classId);


}
